import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)
const USER_KEY = 'hm-toutiao-mobile-user'

export default new Vuex.Store({
  state: {
    // 读取用户信息，用户信息不一定都会获得到
    // 通过 || 设定，如果localStorage没有数据，就返回{}空对象
    user: JSON.parse(localStorage.getItem(USER_KEY) || '{}')
  },
  mutations: {
    // 修改/更新 用户信息
    updateUser (state, data) {
     // 1. vuex做更新，使得有“响应式”
     state.user = data
      // 2. localStorage做持久更新
      localStorage.setItem(USER_KEY, JSON.stringify(data))
    },
    // 清楚用户信息
    cleaUser (state) {
      // 1. vuex做清除，使得有“响应式”
       state.user = {}
      // 2. localStorage做持久清除
       localStorage.removeItem(USER_KEY)
    },
    // 清除token，模拟2小时过期
    cleaToken (state) {
      delete state.user.token
    }
  },
  actions: {
  },
  modules: {
  }
})
